package kr.co.pension.admin.co.ma.controller;

import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import kr.co.pension.admin.co.ma.service.COMAService;
import kr.co.pension.admin.co.ma.vo.COMAVo;
import kr.co.pension.utils.BaseController;
import kr.co.pension.utils.PaginationInfo;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
@RequestMapping("/pmgr/co/ma/*")
public class COMAController extends BaseController{
	@Autowired
	private COMAService service;

	Logger log = Logger.getLogger(getClass());
	

	/**
	 * 목록
	 * @param vo
	 * @return
	 * @throws Exception 
	 */
	@RequestMapping
	public ModelAndView coma101Q(COMAVo vo, HttpServletRequest req,
			HttpServletResponse res) throws Exception {
		isAdminMember(req,res);
		ModelAndView mav = new ModelAndView();
		if(vo.getCode_p_no()==null){
			vo.setCode_p_no("");
		}
//		
//		// 페이징 시작
//		PaginationInfo paginationInfo = new PaginationInfo();
//		int currnetPageNo = vo.getCurrentPageNo() <= 1 ? 1 : (Integer) vo
//				.getCurrentPageNo();
//		vo.setCurrentPageNo(currnetPageNo);
//		vo.setParamMap(requestPram2Map(req));
////		if (vo.getSch_title() != null && !vo.getSch_title().equals("")) {
////			vo.setSch_title("%" + vo.getSch_title() + "%");
////		}
//		int iTotalCnt = service.coma101Q(vo);
//		vo.setTotalRecordCount(iTotalCnt);
//		
//		if(iTotalCnt>0){
//			
//			// 상위 코드목록
//			mav.addObject("list", service.coma102Q(vo));
//			mav.addObject("pageHtml", vo.getToPubHtml("./coma101Q.do"));
//			mav.addObject("paginationInfo", vo);
//		}
		mav.addObject("list", service.coma102Q(vo));
		return mav;
	}
	
	/**
	 *  코드 등록
	 * @param vo
	 * @return
	 * @throws Exception 
	 */
	@RequestMapping
	public ModelAndView coma101T(COMAVo vo ,HttpServletRequest req, HttpServletResponse res) throws Exception {
		isAdminMember(req,res);
		ModelAndView mav = new ModelAndView("redirect:./coma101Q.do?code_p_no="+vo.getCode_p_no());
		vo.setCode_order(service.coma103Q(vo));
		service.coma101T(vo);
		
		return mav;
		
	}
	
	/**
	 * 코드 수정
	 * @param vo
	 * @return
	 * @throws Exception 
	 */
	@RequestMapping
	public ModelAndView coma102T(COMAVo vo ,HttpServletRequest req, HttpServletResponse res) throws Exception {
		isAdminMember(req,res);
		ModelAndView mav = new ModelAndView("redirect:./coma101Q.do?code_p_no="+vo.getCode_p_no()+"&returnCd=0000");
		
		service.coma102T(vo);
		
		return mav;
		
	}
	
	/**
	 * 코드삭제
	 * @param vo
	 * @return
	 * @throws Exception 
	 */
	@RequestMapping
	public ModelAndView coma103T(COMAVo vo ,HttpServletRequest req, HttpServletResponse res) throws Exception {
		isAdminMember(req,res);
		ModelAndView mav = new ModelAndView("redirect:./coma101Q.do?code_p_no="+vo.getCode_p_no()+"&returnCd=1000");
		
		service.coma103T(vo);
		
		return mav;
		
	}
	
	/**
	 * 순서 변경
	 * @param vo
	 * @return
	 * @throws Exception 
	 */
	@RequestMapping
	public ModelAndView coma104T(COMAVo vo ,HttpServletRequest req, HttpServletResponse res) throws Exception {
		isAdminMember(req,res);
		ModelAndView mav = new ModelAndView("redirect:./coma101Q.do?code_p_no="+vo.getCode_p_no());
		
		service.coma104T(vo);
		
		return mav;
		
	}
	
//	
//	/**
//	 * 등록
//	 * @param vo
//	 * @return
//	 */
//	@RequestMapping
//	public ModelAndView COMA020Q(COMAVo vo) {
//
//		ModelAndView mav = new ModelAndView("jsonView");
//		Map map = new HashMap();
//		map.put("test", service.COMA010Q(vo));
//		mav.addObject("map", map);
//		return mav;
//		
//	}
//	
//	/**
//	 * 등록 프로세스
//	 * @param vo
//	 * @return
//	 */
//	@RequestMapping
//	public ModelAndView COMA020T(COMAVo vo) {
//		
//		ModelAndView mav = new ModelAndView("redirect:/co/ma/COMA030Q.do?code_seq_no="+vo.getCode_p_seq_no());
//		
//		
//		vo.setCode_order( Long.parseLong( service.COMA020Q(vo)) );
//		
//		int cnt = service.COMA020T(vo);
//		return mav;
//		
//	}
//	
//	/**
//	 * 상세조회
//	 * @param vo
//	 * @return
//	 */
//	@RequestMapping
//	public ModelAndView COMA030Q(COMAVo vo) {
//		
//		ModelAndView mav = new ModelAndView();
//		Map dd = service.COMA030Q(vo);
//		mav.addObject("map",service.COMA030Q(vo));
//		mav.addObject("list",service.COMA031Q(vo));
//		
//		
//		return mav;
//		
//	}
//
//	
//	/**
//	 * 수정프로세스
//	 * @param vo
//	 * @return
//	 */
//	@RequestMapping
//	public ModelAndView COMA030T(COMAVo vo) {
//		
//		ModelAndView mav = new ModelAndView("redirect:/co/ma/COMA030Q.do?code_seq_no="+vo.getCode_p_seq_no());
//		int Cnt = service.COMA030T(vo); 
//		return mav;
//		
//	}
//	
//	/**
//	 * 회원 삭제 프로세스
//	 * @param vo
//	 * @return
//	 */
//	@RequestMapping
//	public ModelAndView COMA040T(COMAVo vo) {
//		
//		ModelAndView mav = new ModelAndView("redirect:/co/ma/COMA030Q.do?code_seq_no="+vo.getCode_p_seq_no());
//		int cnt = service.COMA040T(vo);
//		return mav;
//		
//	}
}
